FIG. 1 shows an example of a typical networking system 100. A networking system 100 may be viewed as having a plurality of ports (e.g., “n” ports 1031 through 103n) each of which are responsible for collecting the input/output traffic to/from and a particular agent (e.g., a client or group of clients, a user or group of users, another networking system or group of networking systems, a portion of the bandwidth on a networking line, the bandwidth of a networking line, the bandwidth of more than one networking line, etc.) that is in communication with the networking system 100. Input traffic and output traffic may take various forms such as streams of packets, datagrams, cells, frames, etc.
As mentioned just above, a port is usually allocated for each agent that the networking system 100 is in communication with. Thus, if the networking system 100 is in communication with “n” agents, n ports 1031 through 103n can be established as observed in FIG. 1. Generally, the granularity and definition of each agent (e.g., an individual user vs. an entire system; a portion of a line's bandwidth vs. the combined bandwidth from a group of lines, etc.) are configurable on a port-by-port basis and may therefore vary from port-to-port.
The communication with the agents by the networking system 100 is represented by inbound traffic flows 1041 through 104n and outbound traffic flows 1051 through 105n. That is: 1) port 1031 represents a first agent: a) that is in communication with the networking system, and b) that sends inbound traffic 1041 and receives outbound traffic 1051; 2) port 1032 represents a second agent: a) that is in communication with the networking system 100, and b) that sends inbound traffic 1042 and receives outbound traffic 1052, etc.
As traffic is received at a port, the services of the switching core 101 are requested. For example, for each inbound traffic unit received by a port, a service request (or other similar notification) is made by the port to the switching core 101. The services provided by the switching core 101 include: 1) identification of the port from where the traffic unit should be emitted from (as part of any of outbound traffic flows 1051 through 105n); and, 2) transportation of the inbound traffic unit from the port where it was received to the just aforementioned port where it should be emitted from.
The former port (i.e., the port where the inbound traffic unit is received) may be referred to as the “input port” for the traffic unit; and, the later port (i.e., the port where the traffic unit should be emitted from as outbound traffic) may be referred to as the “output port” for the traffic unit. As such, the switching core 101 effectively connects and manages the transferal of each received packet from its input port to its output port.
For example, for a networking connection that corresponds to a communication between the agent associated with port 1031 and the agent associated with port 103n, the switching core 101 transfers packets received at port 1031 (as part of inbound flow 1041) associated with this communication to port 103n. Thus, a packet that is received at port 1031 and destined for the agent associated with port 103n will be transmitted to the switching core 101 from port 1031 along core interface 1021. Subsequently, the switching core 101 will direct the packet from the core 101 to port 103n along core interface 102n. As a result, the packets will be part of outbound flow 105n and the connection between the pair of agents will be established.
Networking systems are difficult to de-bug during their development (“bring-up”), however. The complicated procedure of routing streams of inbound traffic units to their appropriate input port, switching or routing the traffic units to their appropriate output port; and, their subsequent transmission into streams of outbound traffic units makes it difficult to detect where a problem has arisen if traffic units are being processed incorrectly.